Robust Development of Dependable Software Systems
نویسنده
چکیده
The indissoluble bonds of computers and failures have produced a plurality of fault tolerant techniques to satisfy, potentially, any dependability requirement. As a consequence, the development of dependable systems is not based on inventing the mechanism that provides the desired dependability guarantees. Rather, it is based on selecting from the existing techniques the one that best meets the system's dependability requirements. Then, some codiication of the selected technique can be used as the search-key for retrieving from a repository of fault tolerant mechanisms the one that implements the selected technique. Hence, the development of dependable systems becomes a process that transforms a set of dependability constraints into a fault tolerant mechanism that meets them. The focus of our work is to ensure the rigorous development of dependable systems by creating a formal basis for the aforementioned selection process. More precisely, this formal basis consists of: a system model in terms of states and actions, which permits the speciication of dependability properties in temporal predicate logic; a reenement relation for dependability properties, a reenement relation for system speciications, and their correlation. a means that derives automatically the architectural impact of a dependability property to a system speciication. a classiication scheme, which captures the property and speciication reenement relations. This scheme organizes the contents of a repository of fault tolerant mechanisms, which results in accelerating their retrieval. The practical contribution of this work is assessed in the Aster development environment. The formal basis is adapted to Aster speciicities. In addition, a CASE tool is presented that uses the classiication scheme to perform the analysis of dependability requirements. The CASE tool is integrated with the Aster toolkit, replacing the standard Aster tool in the retrieval of fault tolerant mechanisms. The analysis results are also used to provide guidelines for incorporating the selected fault tolerant mechanism in the system structure. While not innovative in its parts since it employs well known techniques from the elds of formal speciications, requirements analysis, software architecture, and software reuse, the originality of this work lies in the combination of existing software technologies for the beneet of system development. The development robustness is guaranteed by the rigorous analysis and the correct reenement of the system's dependability requirements. Construction robuste de systtmes logiciels ssrs de fonctionnement RRsumm : Les liens indissolubles entre les ordinateurs et les ddfaillances ont conduit l'inven-Des moyens pour ddriver automatiquement l'impact architectural d'une propriitt de ssrett …
منابع مشابه
Heedless programming: ignoring detectable error is a widespread hazard
Software should be correct and robust. This paper suggests that we need forthright words for the failure of not being robust — heedless and heedlessness — and of recursively creating software (such as a compiler or virtual machine) that itself does not support dependable software development. Heedless programming is common, particularly affecting “trivial” operations such as on numbers, and ext...
متن کاملA Software Profiling Methodology for Design and Assessment of Dependable Software
The advent of computerized consumer products, such as for example automobiles, mobile systems, etc., has produced a large increase in the need for dependable (or robust) systems. As cost is a relevant issue for such systems, the cost of dependability has to be kept low. Furthermore, as the replication of software is virtually free compared to the replication of hardware, the trend is to impleme...
متن کاملDeveloping Dependable Systems Using Software Architecture
The construction of dependable software systems is recognized as a complex task: the system developer has to address the usage of fault tolerance techniques in addition to the design of the functional aspects that are specific to the system. This paper proposes a framework aimed at easing the development of dependable systems by providing software designers with a repository of dependable softw...
متن کامل2DCBS: A Model for Developing Dependable Component-Based Software
The software industry has adopted component-based software development (CBSD) to rapidly build and deploy large and complex software systems with significant savings at minimal engineering effort, cost, and time. However, CBSD encounters issues on security trust, mainly with respect to dependability attributes. A system is considered dependable when it can produce the outputs for which it was d...
متن کاملA Framework for Developing Dependable Software Systems Using the SOFL Method ∗
Development of a dependable software system requires a variety of techniques to be used in a coherent and systematic process, since it needs to take both the reliability and safety and/or security of the system into account. In this paper, we describe a framework for developing dependable software systems using the SOFL formal engineering method, and demonstrate its applicability by a case stud...
متن کاملSeparation of Fault Tolerance and Non-Functional Concerns: Aspect Oriented Patterns and Evaluation
Dependable computer based systems employing fault tolerance and robust software development techniques demand additional error detection and recovery related tasks. This results in tangling of core functionality with these cross cutting non-functional concerns. In this regard current work identifies these dependability related non-functional and cross-cutting concerns and proposes design and im...
متن کامل